home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 04 - 1988 / 04.04 Apr 88 / TearOffPalette Source / Constants.h next >
Encoding:
C/C++ Source or Header  |  1988-02-01  |  5.1 KB  |  240 lines  |  [TEXT/KAHL]

  1. /*
  2. ----------------------------------------------------------------------------------------------------
  3. T E A R O F F   P A L E T T E
  4.  
  5.     version 1.0
  6.     by Don Melton and Mike Ritter
  7.     
  8.     Copyright (C)1987, 1988 by Impulse Technologies, Inc., all rights reserved. 
  9.     
  10.     Filename:            Constants.h
  11.     Font:                    Monaco, 9 point
  12.     Tab setting:    2
  13.     Compiler:            LightspeedC 2.15, Project type: APPL, Creator: TOPD */
  14.  
  15.  
  16.  
  17. /*
  18. ----------------------------------------------------------------------------------------------------
  19. INCLUDE DEFINITIONS */
  20.  
  21. #include "Color.h"
  22. #include "ColorToolbox.h"
  23. #include "ControlMgr.h"
  24. #include "DeskMgr.h"
  25. #include "DialogMgr.h"
  26. #include "EventMgr.h"
  27. #include "FileMgr.h"
  28. #include "FontMgr.h"
  29. #include "MacTypes.h"
  30. #include "MemoryMgr.h"
  31. #include "MenuMgr.h"
  32. #include "OSUtil.h"
  33. #include "PackageMgr.h"
  34. #include "Quickdraw.h"
  35. #include "ResourceMgr.h"
  36. #include "SegmentLdr.h"
  37. #include "StdFilePkg.h"
  38. #include "TextEdit.h"
  39. #include "ToolboxUtil.h"
  40. #include "WindowMgr.h"
  41.  
  42.  
  43.  
  44. /*
  45. ----------------------------------------------------------------------------------------------------
  46. SYSTEM CONSTANTS */
  47.  
  48. #define nil 0
  49. #define NULL 0
  50. #define zoomDocProc 8
  51. #define zoomNoGrow 12
  52.  
  53. /*
  54. ----------------------------------------------------------------------------------------------------
  55. ENVIRONMENT */
  56.  
  57. #define VERSION_REQUESTED 1
  58.  
  59. #define WAIT_NEXT_EVENT_TRAP_NUMBER 0x60
  60. #define UNIMPLEMENTED_TRAP_NUMBER 0x9f
  61.  
  62. /*
  63. ----------------------------------------------------------------------------------------------------
  64. MEMORY */
  65.  
  66. #define MEMORY_BUFFER_SIZE 0x8000 /* 32K. */
  67.  
  68. /*
  69. ----------------------------------------------------------------------------------------------------
  70. EVENTS */
  71.  
  72. #define SLEEP_DURATION 50
  73.  
  74. /*
  75. ----------------------------------------------------------------------------------------------------
  76. WINDOWS */
  77.  
  78. #define VISIBLE true
  79. #define NOT_VISIBLE false
  80. #define    BRING_TO_FRONT (WindowPtr) -1
  81. #define    SEND_BEHIND nil
  82. #define GO_AWAY_BOX true
  83. #define NO_GO_AWAY_BOX false
  84. #define NO_REFCON nil
  85.  
  86. /*
  87. ----------------------------------------------------------------------------------------------------
  88. PALETTES */
  89.  
  90. enum {
  91.     TOOL_PALETTE,
  92.     PATTERN_PALETTE,
  93.     COLOR_PALETTE,
  94.     DOCUMENT_WINDOW
  95. };
  96.  
  97. #define PALETTE_COUNT 3
  98.  
  99. #define PALETTE_WDEF_ID 128
  100. #define TEAROFF_MDEF_ID 128
  101.  
  102. /*
  103. ----------------------------------------------------------------------------------------------------
  104. TEAROFF MENU GLOBALS */
  105.  
  106. typedef struct TearOffMenuGlobals {
  107.     void (*drawMenuProc)();
  108.     short (*findItemProc)();
  109.     void (*hiliteItemProc)();
  110.     SysEnvRec *environment;
  111.     WindowPtr paletteWindow;
  112.     Point position;
  113.     short currentItem;
  114.     Boolean itemHilited;
  115. } TearOffMenuGlobals, *TearOffMGlobalsPtr, **TearOffMGlobalsHdl;
  116.  
  117. #define TEAR_OFF_MENU_GLOBALS_TYPE 'TOMG'
  118.  
  119. /*
  120. ----------------------------------------------------------------------------------------------------
  121. TOOL PALETTE */
  122.  
  123. #define TOOLS_ACROSS 4
  124. #define TOOLS_DOWN 4
  125.  
  126. #define TOOL_COUNT ((TOOLS_ACROSS * TOOLS_DOWN) + 1)
  127.  
  128. #define DEFAULT_TOOL 4
  129.  
  130. #define TOOL_PICT_ID 128
  131.  
  132. /*
  133. ----------------------------------------------------------------------------------------------------
  134. PATTERN PALETTE */
  135.  
  136. #define PATTERNS_ACROSS 8
  137. #define PATTERNS_DOWN 8
  138.  
  139. #define PATTERN_COUNT ((PATTERNS_ACROSS * PATTERNS_DOWN) + 1)
  140.  
  141. #define PATTERN_ITEM_WIDTH 16
  142. #define PATTERN_ITEM_HEIGHT 16
  143.  
  144. #define DEFAULT_PATTERN 1
  145.  
  146. #define PATTERNS_ID 128
  147.  
  148. /*
  149. ----------------------------------------------------------------------------------------------------
  150. COLOR PALETTE */
  151.  
  152. #define COLORS_ACROSS 16
  153. #define COLORS_DOWN 16
  154.  
  155. #define COLOR_COUNT ((COLORS_ACROSS * COLORS_DOWN) + 1)
  156.  
  157. #define COLOR_ITEM_WIDTH 8
  158. #define COLOR_ITEM_HEIGHT 8
  159.  
  160. #define DEFAULT_COLOR 1
  161.  
  162. /*
  163. ----------------------------------------------------------------------------------------------------
  164. DOCUMENTS */
  165.  
  166.  
  167. #define TITLE_BAR_HEIGHT 18
  168. #define SCROLL_BAR_SIZE 16
  169. #define SCREEN_MARGIN 4
  170. #define MIN_WINDOW_WIDTH 80
  171. #define MIN_WINDOW_HEIGHT 80
  172. #define HORIZONTAL_WINDOW_OFFSET 8
  173. #define VERTICAL_WINDOW_OFFSET 8
  174.  
  175. #define DOCUMENT_COUNT 8
  176.  
  177. #define DOCUMENT_TITLE_STRING_ID 128
  178.  
  179. /*
  180. ----------------------------------------------------------------------------------------------------
  181. MENUS */
  182.  
  183. enum {
  184.     APPLE_MENU_INDEX,
  185.     FILE_MENU_INDEX,
  186.     EDIT_MENU_INDEX,
  187.     TOOL_MENU_INDEX,
  188.     PATTERN_MENU_INDEX,
  189.     COLOR_MENU_INDEX
  190. };
  191.  
  192. enum {
  193.     APPLE_MENU_ID = 128,
  194.     FILE_MENU_ID,
  195.     EDIT_MENU_ID,
  196.     TOOL_MENU_ID,
  197.     PATTERN_MENU_ID,
  198.     COLOR_MENU_ID
  199. };
  200.  
  201. #define MENU_COUNT 6
  202. #define MENU_ID_OFFSET APPLE_MENU_ID
  203.  
  204. #define TEAR_OFF_MARGIN 15
  205. #define MOVE_PALETTE_ITEM (-1)
  206.  
  207. /*
  208. ----------------------------------------------------------------------------------------------------
  209. APPLE MENU ITEMS */
  210.  
  211. #define ABOUT_ITEM 1
  212.  
  213. /*
  214. ----------------------------------------------------------------------------------------------------
  215. EDIT MENU ITEMS */
  216.  
  217. enum {
  218.     UNDO_ITEM = 1,
  219.     CUT_ITEM = 3,
  220.     COPY_ITEM,
  221.     PASTE_ITEM,
  222.     CLEAR_ITEM
  223. };
  224.  
  225. /*
  226. ----------------------------------------------------------------------------------------------------
  227. FILE MENU ITEMS */
  228.  
  229. enum {
  230.     NEW_ITEM = 1,
  231.     CLOSE_ITEM = 3,
  232.     QUIT_ITEM = 5
  233. };
  234.  
  235. /*
  236. ----------------------------------------------------------------------------------------------------
  237. ABOUT DIALOG */
  238.  
  239. #define ABOUT_DIALOG_ID 128
  240.